The latest developments of internet streaming protocols for delivering multimedia content brought up protocols that allow transmitting content as a set of time-bounded content elements, also referred to as chunks, that are physically separated (e.g. a file is created for each chunk of content) or logically separated (e.g. all chunks of content are stored in a single file with an addressing structure that allows to access any chunk individually). The former technique is used by HTTP
Live Streaming or 3GPP adaptive HTTP Streaming, whereas the latter technique is employed by Microsoft Smooth Streaming. The Internet streaming protocols allow a recipient device to download a description file (also known as “manifest” or “play-list”) that, among other things, lists location(s) of content elements and describes rules for forming a request to access a content element. To consume content, the recipient device first obtains the description file and then obtains and consumes each content element indicated in the description file.
When multiple recipient devices request the same content element from the server, there is a high probability that some of these recipient devices will receive the content element from the cache of an intermediate network node, instead of from the server itself. Receiving content elements from intermediate network node caches provides for scalability of the content delivery network, reduces the load for the streaming server and decreases delivery latency.